react scroll 이벤트 (header)
const [position, sePosition] = useState(0)
function onScroll() {
sePosition(window.scrollY)
}
useEffect(() => {
window.addEventListener("scroll", onScroll)
return () => {
window.removeEventListener("scroll", onScroll)
}
}, [])
-
useState을 이용하여 스크롤 위치를 관리한다.
-
onScroll 함수는 스크롤 이벤트가 발생할때 마다 호출하게 된다.
2-1. window.scrollY를 이용하여 현재 스크롤 위치를 가져오고, sePosition을 통해 업데이트를 한다.
-
useEffect를 통해 마운트가 실행될때마다 window.addEventListener || removeEventListener을 사용하여 이벤트를 등록 및 제거한다.
-
스크롤 위치가 변경될 때마다 position값이 업데이트된다.